package com.jenkins.test.proxy.gov.business;

import com.jenkins.test.proxy.gov.constant.GovStandardSigmoid;
import com.jenkins.test.proxy.gov.dto.GovRequest;
import com.jenkins.test.proxy.gov.dto.GovResponse;
import com.jenkins.test.proxy.gov.dto.reponse.*;

/**
 * @version V1.0.0
 * @ClassName: {@link GovStandardService}
 * @Description: 政府远程调用的服务 - 接口
 * @author: Lanzhou
 * @date: 2022/1/21 18:00
 * @Copyright:2020 All rights reserved.
 */
public interface GovStandardService {

    /**
     * 企业注册
     *
     * @param req 请求
     * @return 响应
     */
    @SigmoidSign(GovStandardSigmoid.REGISTRATION)
    public RegistrationResponse registration(GovRequest req);

    /**
     * 基础数据下载地址
     *
     * @param req 请求
     * @return 响应
     */
    @SigmoidSign(GovStandardSigmoid.DOWNLOAD_BASE_DATA)
    public DownBaseDataResponse downloadBaseData(GovRequest req);

    /**
     * 平台版本下载地址
     *
     * @param req 请求
     * @return 响应
     */
    @SigmoidSign(GovStandardSigmoid.VERSION_CHECK)
    public VersionCheckResponse versionCheck(GovRequest req);

    /**
     * 用能单位基础信息配置上传地址
     *
     * @param req 请求
     * @return 响应
     */
    @SigmoidSign(GovStandardSigmoid.UPLOAD_CONFIG_DATA)
    public GovResponse uploadConfigData(GovRequest req);

    /**
     * 采集数据上传地址
     *
     * @param req 请求
     * @return 响应
     */
    @SigmoidSign(GovStandardSigmoid.UPLOAD_ENERGY_DATA)
    public GovResponse uploadEnergyData(GovRequest req);

    /**
     * 用能单位基础信息配置下载地址
     *
     * @param req 请求
     * @return 响应
     */
    @SigmoidSign(GovStandardSigmoid.DOWNLOAD_CONFIG_DATA)
    public DownConfigResponse downloadConfigData(GovRequest req);

    /**
     * 采集数据下载地址
     *
     * @param req 请求
     * @return 响应
     */
    @SigmoidSign(GovStandardSigmoid.DOWNLOAD_ENERGY_DATA)
    public DownEnergyResponse downloadEnergyData(GovRequest req);

}
